﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MakeIT.MiraPark.Negocios
{
    public class MovimentacaoVO
    {
        public struct Especie
        {
            public static string Avulso = "Avulso";
            public static string Mensal = "Mensal";
            public static string Mensalidade = "Mensalidade";
            public static string Diaria = "Diaria";
            public static string DiariaEspecial = "Diaria Especial";
            public static string Convenio = "Convenio";
            public static string Retirada = "Retirada";
            public static string Provisao = "Provisão";
            public static string Pendencia = "Pendencia";
        }

        
        protected MovimentacaoVO() { }

        public static MovimentacaoVO CreateMovimentacaoVO()
        {
            MovimentacaoVO movimentacaoVO = new MovimentacaoVO();
            movimentacaoVO.movimentoVOs = new List<MovimentoVO>();
            return movimentacaoVO;
        }
        public static MovimentacaoVO CreateMovimentacaoVO(int idMovimentacao, string placa, DateTime entrada, DateTime? saida, Decimal? valor)
        {
            MovimentacaoVO movimentacaoVO = CreateMovimentacaoVO();
            movimentacaoVO.idMovimentacao = idMovimentacao;
            movimentacaoVO.placa = placa;
            movimentacaoVO.saida = (DateTime)saida;
            movimentacaoVO.valor = (Decimal)valor;
            return movimentacaoVO;
        }

        public int idMovimentacao
        {
            get { return this._idMovimentacao; }
            set { this._idMovimentacao = value; }
        }
        private int _idMovimentacao;

        public int ticket
        {
            get { return _ticket; }
            set { _ticket = value; }
        }
        private int _ticket;

        public int idCabineE
        {
            get { return _idCabineE; }
            set { _idCabineE = value; }
        }
        private int _idCabineE;

        public int idCabineS
        {
            get { return _idCabineS; }
            set { _idCabineS = value; }
        }
        private int _idCabineS;

        public string placa
        {
            get { return this._placa; }
            set { this._placa = value.ToUpper(); }
        }
        private string _placa;

        public DateTime  entrada
        {
            get { return _entrada; }
            set { _entrada = value; }
        }
        private DateTime _entrada;

        public DateTime saida
        {
            get { return _saida; }
            set { _saida = value; }
        }
        private DateTime _saida;

        public Decimal valor
        {
            get { return _valor; }
            set { _valor = value; }
        }
        private Decimal _valor;

        public string obs
        {
            get { return _obs; }
            set { _obs = value; }
        }
        private string _obs;

        public string especie
        {
            get { return _especie; }
            set { _especie = value; }
        }
        private string _especie;

        public int idMensalista
        {
            get { return _idMensalista; }
            set { _idMensalista = value; }
        }
        private int _idMensalista;

        public int idConvenio
        {
            get { return _idConvenio; }
            set { _idConvenio = value; }
        }
        private int _idConvenio;

        public bool fechDiario
        {
            get { return _fechDiario; }
            set { _fechDiario = value; }
        }
        private bool _fechDiario;

        public bool fechConvenio
        {
            get { return _fechConvenio; }
            set { _fechConvenio = value; }
        }
        private bool _fechConvenio;

        public bool fechCabine
        {
            get { return _fechCabine; }
            set { _fechCabine = value; }
        }
        private bool _fechCabine;

        public List<MovimentoVO> movimentoVOs
        {
            get { return this._movimentoVOs; }
            set { this._movimentoVOs = value; }
        }
        private List<MovimentoVO> _movimentoVOs;

    }
}
